花费 7 ms
设计原则:小议 SPI 和 API

背景 第一次听说 SPI 是阅读《软件框架设计的艺术》,以后陆续在 Log4Net 和 Quartz.Net中发现了以这种形式组织代码的方式,本位给出为什么要区分 SPI 和 API 的一个思考过程 ...

Tue Sep 17 17:00:00 CST 2013 2 11694
设计原则:消除Switch...Case的过程,可能有点过度设计了。

备注 不要重复自己,也不要重复别人,一旦养成了“拷贝和粘贴”的习惯,写程序的时候非常容易导致重复,好在一直暗示自己要稍后进行重构,本文给出一个重构的示例。 需求 需求:按照年、月和日显示销售数据 ...

Wed Sep 04 07:40:00 CST 2013 21 4727
设计原则:为什么需要“IOC”

背景知识 控制反转 反转传统的控制逻辑,常见的传统控制逻辑有: 一、客户类型负责创建依赖。反转后的结构是:由IOC负责创建。 二、客户类型调用框架。反转后的结果是:框架调用客户类型。 依赖注 ...

Thu May 02 23:03:00 CST 2013 11 4431
设计原则:不要为了复用而使用继承

背景 今天上午和以为朋友聊了一个设计问题:如何消除仓库相关的单据的Repository中的重复逻辑?如:入库单Repository和出库单Repository之间的重复。可以有很多方式消除重复,在不 ...

Fri Aug 23 21:11:00 CST 2013 13 3055
设计原则:我是如何使用“依赖注入”的

依赖注入的定义 控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题。 控制反转还有一个名字叫做依赖注入(Dependenc ...

Sun Apr 14 17:20:00 CST 2013 10 2504
OSGI:从面向接口编程来理解OSGI

接口的种类(API和SPI) 从接口的被调用方式和被实现方式看,接口有API和SPI之分,见下图: API和SPI在物理组织方式上的建议(可根据情况选择其一) 位于独立的 ...

Fri Apr 12 07:40:00 CST 2013 3 2698
设计原则:重视命名,应该没有看起来那么简单

背景 接触了一些非常优秀的编程人才,发现他们有一个共同的特点:“重视命名”,记得一位大师也曾说过:“命名和缓存是他最头痛的两个问题”,我不是一个注重细节的人,最起码从骨子里不是,因此我吃了不少苦头, ...

Wed Jun 26 06:34:00 CST 2013 7 1443
设计原则:对象之间的关系

背景 我们执着于面《向对象编程》,而多数情况我们都在使用《面向类型编程》,今天简单快速的回顾一下对象的之间的关系。 先谈谈类型之间的关系 类型之间的依赖,这里进一步划分为两类: 显式 ...

Sun Sep 22 18:20:00 CST 2013 4 2019

 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM